1. Field
Aspects of example embodiments of the present invention relate to a wear leveling method for a storage device or a memory device, such as for an endurance-limited storage device or memory device, a storage device employing the wear leveling method, and a memory device employing the wear leveling method.
2. Related Art
Recently, demand for high-capacity, high-performance storage and memory devices has increased. For example, creation and consumption of digital content, such as high-definition video files and the like, has placed high demand on existing storage devices for enterprise users and the general population. In addition, access times of the storage devices have become a bottleneck in modern electronics.
Compared to traditional non-volatile storage devices, such as hard disk drives (HDDs) and tape drives (often referred to as magnetic storage devices), recently-developed non-volatile storage devices have significantly improved access times. Such non-volatile storage devices include flash memory devices, phase-change random access memory (PRAM), spin-transfer torque random access memory (STT-RAM), and resistive random access memory (ReRAM) (often referred to as solid-state devices or solid-state storage devices).
However, some solid-state storage devices have reduced write endurance compared to the traditional, mechanical storage devices. Write endurance generally refers to the number of updates (e.g., write, rewrite, and/or erase cycles) a memory chip or block can endure before becoming compromised. When a memory chip or block becomes compromised due to, for example, over-use, the memory chip or block may no longer reliably store information (e.g., a bit value, such as 1 or 0). As the number of compromised memory chips or blocks in a storage device increases, the storage device may be more susceptible to data corruption and/or an amount of available storage may be reduced due to the compromised memory chips or blocks.
While mechanical storage devices, such as HDDs, have very high write endurance, some solid-state storage devices may have relatively limited write endurance. For example, flash memory storage devices may have a write endurance of approximately 103 to 105 writes, PRAM may have a write endurance of approximately 106-108 writes, STT-RAM may have a write endurance of approximately 1012 writes, and ReRAM may have a write endurance of approximately 108-1010 writes. Accordingly, as utilization of storage devices increases due to, for example, the proliferation of large digital files, such as high-definition videos and the like, the possibility of these recently-developed storage devices rapidly reaching their write endurance limits is becoming increasingly likely. Furthermore, solid-state storage devices are more susceptible to malicious code attacks. As one example, a malicious code attack on a flash memory storage device could render the device unusable due to reaching its write endurance in approximately 60 days.
To extend the lifespan of such non-volatile storage devices, wear leveling processes or methods are often employed to spread writes across all or substantially all of the available memory blocks. Wear leveling processes or methods generally monitor use of memory chips or blocks in the storage device and distribute incoming writes and rewrites to relatively lightly used blocks in the storage device. Thus, rather than all of the writes and rewrites being repeatedly performed on a few memory blocks while other memory blocks remain unused or lightly used, which would cause the repeatedly used memory blocks to quickly expire and limiting a storage capacity of the storage device, wear leveling processes or methods spread the writes and rewrites across all or substantially all of the available blocks to extend the lifespan of the memory device. Accordingly, the lifespan of the storage device is extended as all or substantially all of the memory blocks are evenly used or utilized by preventing a small number of the available memory blocks from rapidly reaching their write endurance limits and becoming unusable.